package model

import "encoding/xml"

// 被动回复

type Reply struct {
	BasePush
	Content   string  `xml:"Content,omitempty" json:"content,omitempty" bson:"content"` //文本消息内容
	Image     ImageRe `xml:"Image,omitempty"`
	Voice     VoiceRe `xml:"Voice,omitempty"`
	Video     VideoRe `xml:"Video,omitempty"`
	Music     MusicRe `xml:"Music,omitempty"`
	ArticleRe `xml:"Article,omitempty"`
	// 若不标记XMLName, 则解析后的xml名为该结构体的名称
	XMLName xml.Name `xml:"xml"`
}

// 图片消息
type ImageRe struct {
	MediaId string `bson:"media_id,omitempty" xml:"MediaId,omitempty" json:"media_id,omitempty"`
}

// 语音
type VoiceRe struct {
	MediaId string `bson:"media_id,omitempty" xml:"MediaId,omitempty" json:"media_id,omitempty"`
}

// 视频
type VideoRe struct {
	MediaId     string `bson:"media_id" json:"media_id" xml:"MediaId,omitempty"`
	Title       string `xml:"Title,omitempty" bson:"title" json:"title"`
	Description string `xml:"Description,omitempty" bson:"description" json:"description"`
}

// 音乐
type MusicRe struct {
	Title        string `xml:"Title,omitempty" bson:"title" json:"title"`
	Description  string `xml:"Description,omitempty" bson:"description" json:"description"`
	MusicUrl     string `xml:"MusicUrl,omitempty" bson:"music_url" json:"music_url"`
	HQMusicUrl   string `xml:"HQMusicUrl,omitempty" bson:"hq_music_url" json:"hq_music_url"`       //高质量音乐链接，WIFI环境优先使用该链接播放音乐
	ThumbMediaId string `xml:"ThumbMediaId,omitempty" bson:"thumb_media_id" json:"thumb_media_id"` //缩略图的媒体id，通过素材管理中的接口上传多媒体文件，得到的id
}

type ArticleRe struct {
	ArticleCount int        `xml:"ArticleCount,omitempty" bson:"article_count" json:"article_count"`
	Articles     []articles `xml:"Articles,omitempty" bson:"articles" json:"articles"`
}
type ItemRe struct {
	Title       string `xml:"Title,omitempty" bson:"title" json:"title"`
	Description string `xml:"Description,omitempty" bson:"description" json:"description"`
	PicUrl      string `xml:"PicUrl,omitempty" bson:"pic_url" json:"pic_url"`
	Url         string `xml:"Url,omitempty" bson:"url" json:"url"`
}
type articles struct {
	Item ItemRe `xml:"item,omitempty" bson:"item" json:"item"`
}
